// index.js
// 获取应用实例
const app = getApp()

Page({
    data: {
        // 原材料和工具
        categories: [],
        // 查询出来的菜信息列表
        menus: []
    },

    /**
     * 按钮选中效果切换
     * 作者：郭
     * @param {*} e 按钮对象
     */
    switchType: function (e) {
        console.log(e);
        console.log(e.currentTarget.dataset.buttonindex);
        var index = e.currentTarget.dataset.buttonindex;
        this.setData({
            ["categories[" + index + "].check"]: !this.data.categories[index].check
        });
    },

    /**
     * 根据选中的标签从数据库中获取信息
     * 作者：郭
     * 
     */
    submit: function (e) {
        console.log("准备提交...");
        // 获取标签
        var stuff = "";
        var tools = "";
        this.data.categories.forEach(category => {
            if (category.check && (category.classify == 1 || category.classify == 2 || category.classify == 3)) {
                // 如果是原材料
                stuff = stuff + category.name + ",";
            } else if (category.check && category.classify == 4) {
                // 如果是制作工具
                tools = tools + category.name + ",";
            }
        });
        // 去掉最后一个逗号
        stuff = stuff.substring(0, stuff.length - 1);
        tools = tools.substring(0, tools.length - 1);
        console.log(stuff);
        console.log(tools);

        // 模糊查询
        wx.request({
            url: app.globalData.serverHostLocation + "/menus/" + stuff + "/" + tools,
            method: "GET",
            success: res => {
                console.log(res);
                // 设置数据
                this.setData({
                    menus: res.data.data
                });
            }
        });
    },


    onLoad: function (e) {
        this.getCategory();
    },

    /**
     * 从数据库获取所有类别
     * 
     * 作者：郭
     */
    getCategory: function () {
        console.log("获取所有类别...");
        wx.request({
            url: app.globalData.serverHostLocation + "/categories",
            method: "GET",
            success: res => {
                console.log(res.data.data);
                // 遍历数组，添加选中条件
                res.data.data.forEach(category => {
                    category.check = false;
                });
                this.setData({
                    categories: res.data.data
                });
            }
        })
    }
})